#ifndef INC_PLACECOMMAND_H
#define INC_PLACECOMMAND_H

#include "Command.h"
#include "../model/UMLDiagram.h"

class UMLCanvas;

class PlaceCommand : public Command
{
	public:
		PlaceCommand(UMLDiagram&, UMLCanvas&, const UMLObject&);
		PlaceCommand(const PlaceCommand&);
		~PlaceCommand();

		UMLObject& prototype();

		void execute();
		void unexecute();

	private:
		UMLDiagram& _diagram;
		UMLCanvas& _canvas;
		UMLObject* _prototype; // init-checked
		UMLObject* _created; // init-checked
};

#endif // INC_PLACECOMMAND_H
